﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PlanB.ShareDove.ConferenceOrganization.BusinessLayer.DataLayerInterface.Entities
{
    /// <summary>
    /// Address structure used in the conference materials. 
    /// 
    /// There will be no data structure actually holding the addresses separately, addresses will be "flattened" 
    /// in the data structures holding the parent objects (i.e. Persons, Companies), but they are here in the
    /// business logic separated for easier manipulation
    /// </summary>
    public class ConferenceAddress
    {
        /// <summary>
        /// Street and number
        /// </summary>
        public string AddressLine1 { get; set; }

        /// <summary>
        /// Additional address information
        /// </summary>
        public string AddressLine2 { get; set; }

        /// <summary>
        /// ZIP Code / Postal code of the city
        /// </summary>
        public string Zip { get; set; }

        /// <summary>
        /// City
        /// </summary>
        public string City { get; set; }

        /// <summary>
        /// Province
        /// </summary>
        public string Province { get; set; }

        /// <summary>
        /// Country 
        /// </summary>
        public ConferenceCountry Country { get; set; }

        /// <summary>
        /// Latitude of the address, represented as a string. Point (.) used as the decimal point
        /// </summary>
        public string Latitude { get; set; }

        /// <summary>
        /// Longitude of the address, represented as a string. Point (.) used as the decimal point
        /// </summary>
        public string Longitude { get; set; }

        /// <summary>
        /// E-mail address
        /// </summary>
        public string EMail { get; set; }

        /// <summary>
        /// Phone number
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// Fax number
        /// </summary>
        public string Fax { get; set; }
    }
}
